#
#  Copyright (c) 2016, The OpenThread Authors.
#  All rights reserved.
#
#  Redistribution and use in source and binary forms, with or without
#  modification, are permitted provided that the following conditions are met:
#  1. Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
#  2. Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#  3. Neither the name of the copyright holder nor the
#     names of its contributors may be used to endorse or promote products
#     derived from this software without specific prior written permission.
#
#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#  POSSIBILITY OF SUCH DAMAGE.
#

include $(abs_top_nlbuild_autotools_dir)/automake/pre.am

lib_LIBRARIES                              = $(NULL)

if OPENTHREAD_ENABLE_FTD
lib_LIBRARIES                             += libopenthread-ftd.a
endif

if OPENTHREAD_ENABLE_MTD
lib_LIBRARIES                             += libopenthread-mtd.a
endif

if OPENTHREAD_ENABLE_RADIO_ONLY
lib_LIBRARIES                             += libopenthread-radio.a
endif

if OPENTHREAD_ENABLE_RADIO_CLI
lib_LIBRARIES                             += libopenthread-radio-cli.a
endif

CPPFLAGS_COMMON                            = \
    -I$(top_srcdir)/include                  \
    $(OPENTHREAD_TARGET_DEFINES)             \
    $(NULL)

libopenthread_radio_a_CPPFLAGS             = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=1                     \
    -DOPENTHREAD_RADIO_CLI=0                 \
    $(NULL)

libopenthread_radio_cli_a_CPPFLAGS         = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=1                     \
    -DOPENTHREAD_RADIO_CLI=1                 \
    $(NULL)

libopenthread_ftd_a_CPPFLAGS               = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=0                       \
    -DOPENTHREAD_FTD=1                       \
    -DOPENTHREAD_RADIO=0                     \
    $(NULL)

libopenthread_mtd_a_CPPFLAGS               = \
    $(CPPFLAGS_COMMON)                       \
    -DOPENTHREAD_MTD=1                       \
    -DOPENTHREAD_FTD=0                       \
    -DOPENTHREAD_RADIO=0                     \
    $(NULL)

#------------------------------------------------------
# Note to maintainer/developers about "SOURCES_COMMON"
#
# The traditional method for GNU style Makefile.am files
# is to have IF statements within the Makefile
#
# These IF statements would add (or not add) certain
# source files from the build/library being built.
#
# In general, IDEs do not easily support this.
# Some do, some do not, those that do support it
# often do so in a very different or complex way.
# Bottom line: It is a very mixed bag of results.
#
# Thus we bend to the IDEs, and impose these rules:
#
# Rule #1
#     All code(files) should be compiled
#     Even if it is not used or required
#
#     For example: In the MTD build, some features
#     are disabled and thus in the traditional scheme
#     source files could be excluded SOURCES_COMMON
#     via makefile IF/ELSE/ENDIF constructs.
#
#     This makes it impossibly hard for IDEs.
#     Thus we compile everything.
#
#     And then rely upon Rule #2.
#
# Rule #2
#     Files that are not required, in certain
#     configurations require appropriate wrappers
#     Such as #if/#else/#endif
#
#     The net result is sort of an "empty translation
#     unit"
#

SOURCES_COMMON                                  = \
    api/backbone_router_api.cpp                   \
    api/backbone_router_ftd_api.cpp               \
    api/border_agent_api.cpp                      \
    api/border_router_api.cpp                     \
    api/border_routing_api.cpp                    \
    api/channel_manager_api.cpp                   \
    api/channel_monitor_api.cpp                   \
    api/child_supervision_api.cpp                 \
    api/coap_api.cpp                              \
    api/coap_secure_api.cpp                       \
    api/commissioner_api.cpp                      \
    api/crypto_api.cpp                            \
    api/dataset_api.cpp                           \
    api/dataset_ftd_api.cpp                       \
    api/dataset_updater_api.cpp                   \
    api/diags_api.cpp                             \
    api/dns_api.cpp                               \
    api/dns_server_api.cpp                        \
    api/error_api.cpp                             \
    api/heap_api.cpp                              \
    api/history_tracker_api.cpp                   \
    api/icmp6_api.cpp                             \
    api/instance_api.cpp                          \
    api/ip6_api.cpp                               \
    api/jam_detection_api.cpp                     \
    api/joiner_api.cpp                            \
    api/link_api.cpp                              \
    api/link_metrics_api.cpp                      \
    api/link_raw_api.cpp                          \
    api/logging_api.cpp                           \
    api/message_api.cpp                           \
    api/multi_radio_api.cpp                       \
    api/nat64_api.cpp                             \
    api/netdata_api.cpp                           \
    api/netdata_publisher_api.cpp                 \
    api/netdiag_api.cpp                           \
    api/network_time_api.cpp                      \
    api/ping_sender_api.cpp                       \
    api/random_crypto_api.cpp                     \
    api/random_noncrypto_api.cpp                  \
    api/server_api.cpp                            \
    api/sntp_api.cpp                              \
    api/srp_client_api.cpp                        \
    api/srp_client_buffers_api.cpp                \
    api/srp_server_api.cpp                        \
    api/tasklet_api.cpp                           \
    api/tcp_api.cpp                               \
    api/tcp_ext_api.cpp                           \
    api/thread_api.cpp                            \
    api/thread_ftd_api.cpp                        \
    api/trel_api.cpp                              \
    api/udp_api.cpp                               \
    backbone_router/backbone_tmf.cpp              \
    backbone_router/bbr_leader.cpp                \
    backbone_router/bbr_local.cpp                 \
    backbone_router/bbr_manager.cpp               \
    backbone_router/multicast_listeners_table.cpp \
    backbone_router/ndproxy_table.cpp             \
    border_router/infra_if.cpp                    \
    border_router/routing_manager.cpp             \
    coap/coap.cpp                                 \
    coap/coap_message.cpp                         \
    coap/coap_secure.cpp                          \
    common/appender.cpp                           \
    common/binary_search.cpp                      \
    common/crc16.cpp                              \
    common/data.cpp                               \
    common/error.cpp                              \
    common/frame_builder.cpp                      \
    common/frame_data.cpp                         \
    common/heap.cpp                               \
    common/heap_data.cpp                          \
    common/heap_string.cpp                        \
    common/instance.cpp                           \
    common/log.cpp                                \
    common/message.cpp                            \
    common/notifier.cpp                           \
    common/random.cpp                             \
    common/settings.cpp                           \
    common/string.cpp                             \
    common/tasklet.cpp                            \
    common/time_ticker.cpp                        \
    common/timer.cpp                              \
    common/tlvs.cpp                               \
    common/trickle_timer.cpp                      \
    common/uptime.cpp                             \
    crypto/aes_ccm.cpp                            \
    crypto/aes_ecb.cpp                            \
    crypto/crypto_platform.cpp                    \
    crypto/hkdf_sha256.cpp                        \
    crypto/hmac_sha256.cpp                        \
    crypto/mbedtls.cpp                            \
    crypto/sha256.cpp                             \
    crypto/storage.cpp                            \
    diags/factory_diags.cpp                       \
    mac/channel_mask.cpp                          \
    mac/data_poll_handler.cpp                     \
    mac/data_poll_sender.cpp                      \
    mac/link_raw.cpp                              \
    mac/mac.cpp                                   \
    mac/mac_filter.cpp                            \
    mac/mac_frame.cpp                             \
    mac/mac_links.cpp                             \
    mac/mac_types.cpp                             \
    mac/sub_mac.cpp                               \
    mac/sub_mac_callbacks.cpp                     \
    meshcop/announce_begin_client.cpp             \
    meshcop/border_agent.cpp                      \
    meshcop/commissioner.cpp                      \
    meshcop/dataset.cpp                           \
    meshcop/dataset_local.cpp                     \
    meshcop/dataset_manager.cpp                   \
    meshcop/dataset_manager_ftd.cpp               \
    meshcop/dataset_updater.cpp                   \
    meshcop/dtls.cpp                              \
    meshcop/energy_scan_client.cpp                \
    meshcop/extended_panid.cpp                    \
    meshcop/joiner.cpp                            \
    meshcop/joiner_router.cpp                     \
    meshcop/meshcop.cpp                           \
    meshcop/meshcop_leader.cpp                    \
    meshcop/meshcop_tlvs.cpp                      \
    meshcop/network_name.cpp                      \
    meshcop/panid_query_client.cpp                \
    meshcop/timestamp.cpp                         \
    net/checksum.cpp                              \
    net/dhcp6_client.cpp                          \
    net/dhcp6_server.cpp                          \
    net/dns_client.cpp                            \
    net/dns_dso.cpp                               \
    net/dns_types.cpp                             \
    net/dnssd_server.cpp                          \
    net/icmp6.cpp                                 \
    net/ip4_types.cpp                             \
    net/ip6.cpp                                   \
    net/ip6_address.cpp                           \
    net/ip6_filter.cpp                            \
    net/ip6_headers.cpp                           \
    net/ip6_mpl.cpp                               \
    net/nat64_translator.cpp                      \
    net/nd6.cpp                                   \
    net/nd_agent.cpp                              \
    net/netif.cpp                                 \
    net/sntp_client.cpp                           \
    net/socket.cpp                                \
    net/srp_client.cpp                            \
    net/srp_server.cpp                            \
    net/tcp6.cpp                                  \
    net/tcp6_ext.cpp                              \
    net/udp6.cpp                                  \
    radio/radio.cpp                               \
    radio/radio_callbacks.cpp                     \
    radio/radio_platform.cpp                      \
    radio/trel_interface.cpp                      \
    radio/trel_link.cpp                           \
    radio/trel_packet.cpp                         \
    thread/address_resolver.cpp                   \
    thread/announce_begin_server.cpp              \
    thread/announce_sender.cpp                    \
    thread/anycast_locator.cpp                    \
    thread/child_table.cpp                        \
    thread/csl_tx_scheduler.cpp                   \
    thread/discover_scanner.cpp                   \
    thread/dua_manager.cpp                        \
    thread/energy_scan_server.cpp                 \
    thread/indirect_sender.cpp                    \
    thread/key_manager.cpp                        \
    thread/link_metrics.cpp                       \
    thread/link_metrics_types.cpp                 \
    thread/link_quality.cpp                       \
    thread/lowpan.cpp                             \
    thread/mesh_forwarder.cpp                     \
    thread/mesh_forwarder_ftd.cpp                 \
    thread/mesh_forwarder_mtd.cpp                 \
    thread/mle.cpp                                \
    thread/mle_router.cpp                         \
    thread/mle_tlvs.cpp                           \
    thread/mle_types.cpp                          \
    thread/mlr_manager.cpp                        \
    thread/neighbor_table.cpp                     \
    thread/network_data.cpp                       \
    thread/network_data_leader.cpp                \
    thread/network_data_leader_ftd.cpp            \
    thread/network_data_local.cpp                 \
    thread/network_data_notifier.cpp              \
    thread/network_data_publisher.cpp             \
    thread/network_data_service.cpp               \
    thread/network_data_tlvs.cpp                  \
    thread/network_data_types.cpp                 \
    thread/network_diagnostic.cpp                 \
    thread/panid_query_server.cpp                 \
    thread/radio_selector.cpp                     \
    thread/router_table.cpp                       \
    thread/src_match_controller.cpp               \
    thread/thread_netif.cpp                       \
    thread/time_sync_service.cpp                  \
    thread/tmf.cpp                                \
    thread/topology.cpp                           \
    thread/uri_paths.cpp                          \
    utils/channel_manager.cpp                     \
    utils/channel_monitor.cpp                     \
    utils/child_supervision.cpp                   \
    utils/flash.cpp                               \
    utils/heap.cpp                                \
    utils/history_tracker.cpp                     \
    utils/jam_detector.cpp                        \
    utils/otns.cpp                                \
    utils/parse_cmdline.cpp                       \
    utils/ping_sender.cpp                         \
    utils/power_calibration.cpp                   \
    utils/slaac_address.cpp                       \
    utils/srp_client_buffers.cpp                  \
    $(NULL)

RADIO_SOURCES_COMMON                       = \
    api/diags_api.cpp                        \
    api/error_api.cpp                        \
    api/instance_api.cpp                     \
    api/link_raw_api.cpp                     \
    api/logging_api.cpp                      \
    api/random_noncrypto_api.cpp             \
    api/tasklet_api.cpp                      \
    common/binary_search.cpp                 \
    common/error.cpp                         \
    common/frame_builder.cpp                 \
    common/instance.cpp                      \
    common/log.cpp                           \
    common/random.cpp                        \
    common/string.cpp                        \
    common/tasklet.cpp                       \
    common/timer.cpp                         \
    common/uptime.cpp                        \
    crypto/aes_ccm.cpp                       \
    crypto/aes_ecb.cpp                       \
    crypto/crypto_platform.cpp               \
    crypto/storage.cpp                       \
    diags/factory_diags.cpp                  \
    mac/link_raw.cpp                         \
    mac/mac_frame.cpp                        \
    mac/mac_types.cpp                        \
    mac/sub_mac.cpp                          \
    mac/sub_mac_callbacks.cpp                \
    radio/radio.cpp                          \
    radio/radio_callbacks.cpp                \
    radio/radio_platform.cpp                 \
    thread/link_quality.cpp                  \
    utils/parse_cmdline.cpp                  \
    utils/power_calibration.cpp              \
    $(NULL)

EXTRA_DIST                                 = \
    common/extension_example.cpp             \
    $(NULL)

libopenthread_radio_a_SOURCES              = \
    $(RADIO_SOURCES_COMMON)                  \
    $(NULL)

libopenthread_radio_cli_a_SOURCES          = \
    $(RADIO_SOURCES_COMMON)                  \
    $(NULL)

libopenthread_mtd_a_SOURCES                = \
    $(SOURCES_COMMON)                        \
    $(NULL)

libopenthread_ftd_a_SOURCES                = \
    $(SOURCES_COMMON)                        \
    $(NULL)

if OPENTHREAD_ENABLE_VENDOR_EXTENSION

.INTERMEDIATE: vendor_extension_temp.cpp
vendor_extension_temp.cpp: ${OPENTHREAD_VENDOR_EXTENSION_SOURCE}
	$(AM_V_GEN)cp $< $@

# "nodist_" prefix tells automake not to include in 'make dist'

nodist_libopenthread_ftd_a_SOURCES         = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_mtd_a_SOURCES         = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_radio_a_SOURCES       = \
    vendor_extension_temp.cpp                \
    $(NULL)

nodist_libopenthread_radio_cli_a_SOURCES   = \
    vendor_extension_temp.cpp                \
    $(NULL)

endif # OPENTHREAD_ENABLE_VENDOR_EXTENSION

HEADERS_COMMON                                  = \
    backbone_router/backbone_tmf.hpp              \
    backbone_router/bbr_leader.hpp                \
    backbone_router/bbr_local.hpp                 \
    backbone_router/bbr_manager.hpp               \
    backbone_router/multicast_listeners_table.hpp \
    backbone_router/ndproxy_table.hpp             \
    border_router/infra_if.hpp                    \
    border_router/routing_manager.hpp             \
    coap/coap.hpp                                 \
    coap/coap_message.hpp                         \
    coap/coap_secure.hpp                          \
    common/appender.hpp                           \
    common/arg_macros.hpp                         \
    common/array.hpp                              \
    common/as_core_type.hpp                       \
    common/binary_search.hpp                      \
    common/bit_vector.hpp                         \
    common/callback.hpp                           \
    common/clearable.hpp                          \
    common/code_utils.hpp                         \
    common/const_cast.hpp                         \
    common/crc16.hpp                              \
    common/data.hpp                               \
    common/debug.hpp                              \
    common/encoding.hpp                           \
    common/equatable.hpp                          \
    common/error.hpp                              \
    common/extension.hpp                          \
    common/frame_builder.hpp                      \
    common/frame_data.hpp                         \
    common/heap.hpp                               \
    common/heap_allocatable.hpp                   \
    common/heap_array.hpp                         \
    common/heap_data.hpp                          \
    common/heap_string.hpp                        \
    common/instance.hpp                           \
    common/iterator_utils.hpp                     \
    common/linked_list.hpp                        \
    common/locator.hpp                            \
    common/locator_getters.hpp                    \
    common/log.hpp                                \
    common/logging.hpp                            \
    common/message.hpp                            \
    common/new.hpp                                \
    common/non_copyable.hpp                       \
    common/notifier.hpp                           \
    common/num_utils.hpp                          \
    common/numeric_limits.hpp                     \
    common/owned_ptr.hpp                          \
    common/owning_list.hpp                        \
    common/pool.hpp                               \
    common/ptr_wrapper.hpp                        \
    common/random.hpp                             \
    common/retain_ptr.hpp                         \
    common/serial_number.hpp                      \
    common/settings.hpp                           \
    common/settings_driver.hpp                    \
    common/string.hpp                             \
    common/tasklet.hpp                            \
    common/time.hpp                               \
    common/time_ticker.hpp                        \
    common/timer.hpp                              \
    common/tlvs.hpp                               \
    common/trickle_timer.hpp                      \
    common/type_traits.hpp                        \
    common/uptime.hpp                             \
    config/announce_sender.h                      \
    config/backbone_router.h                      \
    config/border_agent.h                         \
    config/border_router.h                        \
    config/border_routing.h                       \
    config/channel_manager.h                      \
    config/channel_monitor.h                      \
    config/child_supervision.h                    \
    config/coap.h                                 \
    config/commissioner.h                         \
    config/crypto.h                               \
    config/dataset_updater.h                      \
    config/dhcp6_client.h                         \
    config/dhcp6_server.h                         \
    config/diag.h                                 \
    config/dns_client.h                           \
    config/dns_dso.h                              \
    config/dnssd_server.h                         \
    config/dtls.h                                 \
    config/history_tracker.h                      \
    config/ip6.h                                  \
    config/joiner.h                               \
    config/link_quality.h                         \
    config/link_raw.h                             \
    config/logging.h                              \
    config/mac.h                                  \
    config/misc.h                                 \
    config/mle.h                                  \
    config/nat64.h                                \
    config/netdata_publisher.h                    \
    config/openthread-core-config-check.h         \
    config/parent_search.h                        \
    config/ping_sender.h                          \
    config/platform.h                             \
    config/power_calibration.h                    \
    config/radio_link.h                           \
    config/sntp_client.h                          \
    config/srp_client.h                           \
    config/srp_server.h                           \
    config/time_sync.h                            \
    config/tmf.h                                  \
    crypto/aes_ccm.hpp                            \
    crypto/aes_ecb.hpp                            \
    crypto/context_size.hpp                       \
    crypto/ecdsa.hpp                              \
    crypto/hkdf_sha256.hpp                        \
    crypto/hmac_sha256.hpp                        \
    crypto/mbedtls.hpp                            \
    crypto/sha256.hpp                             \
    crypto/storage.hpp                            \
    diags/factory_diags.hpp                       \
    mac/channel_mask.hpp                          \
    mac/data_poll_handler.hpp                     \
    mac/data_poll_sender.hpp                      \
    mac/link_raw.hpp                              \
    mac/mac.hpp                                   \
    mac/mac_filter.hpp                            \
    mac/mac_frame.hpp                             \
    mac/mac_links.hpp                             \
    mac/mac_types.hpp                             \
    mac/sub_mac.hpp                               \
    meshcop/announce_begin_client.hpp             \
    meshcop/border_agent.hpp                      \
    meshcop/commissioner.hpp                      \
    meshcop/dataset.hpp                           \
    meshcop/dataset_local.hpp                     \
    meshcop/dataset_manager.hpp                   \
    meshcop/dataset_updater.hpp                   \
    meshcop/dtls.hpp                              \
    meshcop/energy_scan_client.hpp                \
    meshcop/extended_panid.hpp                    \
    meshcop/joiner.hpp                            \
    meshcop/joiner_router.hpp                     \
    meshcop/meshcop.hpp                           \
    meshcop/meshcop_leader.hpp                    \
    meshcop/meshcop_tlvs.hpp                      \
    meshcop/network_name.hpp                      \
    meshcop/panid_query_client.hpp                \
    meshcop/timestamp.hpp                         \
    net/checksum.hpp                              \
    net/dhcp6.hpp                                 \
    net/dhcp6_client.hpp                          \
    net/dhcp6_server.hpp                          \
    net/dns_client.hpp                            \
    net/dns_dso.hpp                               \
    net/dns_types.hpp                             \
    net/dnssd_server.hpp                          \
    net/icmp6.hpp                                 \
    net/ip4_types.hpp                             \
    net/ip6.hpp                                   \
    net/ip6_address.hpp                           \
    net/ip6_filter.hpp                            \
    net/ip6_headers.hpp                           \
    net/ip6_mpl.hpp                               \
    net/ip6_types.hpp                             \
    net/nat64_translator.hpp                      \
    net/nd6.hpp                                   \
    net/nd_agent.hpp                              \
    net/netif.hpp                                 \
    net/sntp_client.hpp                           \
    net/socket.hpp                                \
    net/srp_client.hpp                            \
    net/srp_server.hpp                            \
    net/tcp6.hpp                                  \
    net/tcp6_ext.hpp                              \
    net/udp6.hpp                                  \
    openthread-core-config.h                      \
    radio/max_power_table.hpp                     \
    radio/radio.hpp                               \
    radio/trel_interface.hpp                      \
    radio/trel_link.hpp                           \
    radio/trel_packet.hpp                         \
    thread/address_resolver.hpp                   \
    thread/announce_begin_server.hpp              \
    thread/announce_sender.hpp                    \
    thread/anycast_locator.hpp                    \
    thread/child_mask.hpp                         \
    thread/child_table.hpp                        \
    thread/csl_tx_scheduler.hpp                   \
    thread/discover_scanner.hpp                   \
    thread/dua_manager.hpp                        \
    thread/energy_scan_server.hpp                 \
    thread/indirect_sender.hpp                    \
    thread/indirect_sender_frame_context.hpp      \
    thread/key_manager.hpp                        \
    thread/link_metrics.hpp                       \
    thread/link_metrics_tlvs.hpp                  \
    thread/link_metrics_types.hpp                 \
    thread/link_quality.hpp                       \
    thread/lowpan.hpp                             \
    thread/mesh_forwarder.hpp                     \
    thread/mle.hpp                                \
    thread/mle_router.hpp                         \
    thread/mle_tlvs.hpp                           \
    thread/mle_types.hpp                          \
    thread/mlr_manager.hpp                        \
    thread/mlr_types.hpp                          \
    thread/neighbor_table.hpp                     \
    thread/network_data.hpp                       \
    thread/network_data_leader.hpp                \
    thread/network_data_leader_ftd.hpp            \
    thread/network_data_local.hpp                 \
    thread/network_data_notifier.hpp              \
    thread/network_data_publisher.hpp             \
    thread/network_data_service.hpp               \
    thread/network_data_tlvs.hpp                  \
    thread/network_data_types.hpp                 \
    thread/network_diagnostic.hpp                 \
    thread/network_diagnostic_tlvs.hpp            \
    thread/panid_query_server.hpp                 \
    thread/radio_selector.hpp                     \
    thread/router_table.hpp                       \
    thread/src_match_controller.hpp               \
    thread/thread_netif.hpp                       \
    thread/thread_tlvs.hpp                        \
    thread/time_sync_service.hpp                  \
    thread/tmf.hpp                                \
    thread/topology.hpp                           \
    thread/uri_paths.hpp                          \
    thread/version.hpp                            \
    utils/channel_manager.hpp                     \
    utils/channel_monitor.hpp                     \
    utils/child_supervision.hpp                   \
    utils/flash.hpp                               \
    utils/heap.hpp                                \
    utils/history_tracker.hpp                     \
    utils/jam_detector.hpp                        \
    utils/otns.hpp                                \
    utils/parse_cmdline.hpp                       \
    utils/ping_sender.hpp                         \
    utils/power_calibration.hpp                   \
    utils/slaac_address.hpp                       \
    utils/srp_client_buffers.hpp                  \
    $(NULL)

noinst_HEADERS                             = \
    $(HEADERS_COMMON)                        \
    $(NULL)

if OPENTHREAD_BUILD_COVERAGE
Dash       = -
CLEANFILES = $(shell find $(top_builddir)/src/core $(Dash)name "*.gcda" $(Dash)o $(Dash)name "*.gcno")
endif

include $(abs_top_nlbuild_autotools_dir)/automake/post.am
